//
// Copyright (C) 1993, 1994, 1995, 1996 Theodore Ts'o.
//
// This file may be redistributed under the terms of the GNU Public
// License.
#ifndef EXT2_ERR_H_
#define EXT2_ERR_H_

#define EXT2_ET_OK                          0
#define EXT2_ET_BASE                        -1
#define EXT2_ET_MAGIC_EXT2FS_FILSYS         -2
#define EXT2_ET_MAGIC_BADBLOCKS_LIST        -3
#define EXT2_ET_MAGIC_BADBLOCKS_ITERATE     -4
#define EXT2_ET_MAGIC_INODE_SCAN            -5
#define EXT2_ET_MAGIC_IO_CHANNEL            -6
#define EXT2_ET_MAGIC_UNIX_IO_CHANNEL       -7
#define EXT2_ET_MAGIC_IO_MANAGER            -8
#define EXT2_ET_MAGIC_BLOCK_BITMAP          -9
#define EXT2_ET_MAGIC_INODE_BITMAP          -10
#define EXT2_ET_MAGIC_GENERIC_BITMAP        -11
#define EXT2_ET_MAGIC_TEST_IO_CHANNEL       -12
#define EXT2_ET_MAGIC_DBLIST                -13
#define EXT2_ET_MAGIC_ICOUNT                -14
#define EXT2_ET_MAGIC_PQ_IO_CHANNEL         -15
#define EXT2_ET_MAGIC_EXT2_FILE             -16
#define EXT2_ET_MAGIC_E2IMAGE               -17
#define EXT2_ET_MAGIC_INODE_IO_CHANNEL      -18
#define EXT2_ET_MAGIC_EXTENT_HANDLE         -19
#define EXT2_ET_BAD_MAGIC                   -20
#define EXT2_ET_REV_TOO_HIGH                -21
#define EXT2_ET_RO_FILSYS                   -22
#define EXT2_ET_GDESC_READ                  -23
#define EXT2_ET_GDESC_WRITE                 -24
#define EXT2_ET_GDESC_BAD_BLOCK_MAP         -25
#define EXT2_ET_GDESC_BAD_INODE_MAP         -26
#define EXT2_ET_GDESC_BAD_INODE_TABLE          -27
#define EXT2_ET_INODE_BITMAP_WRITE          -28
#define EXT2_ET_INODE_BITMAP_READ          -29
#define EXT2_ET_BLOCK_BITMAP_WRITE          -30
#define EXT2_ET_BLOCK_BITMAP_READ          -31
#define EXT2_ET_INODE_TABLE_WRITE          -32
#define EXT2_ET_INODE_TABLE_READ          -33
#define EXT2_ET_NEXT_INODE_READ          -34
#define EXT2_ET_UNEXPECTED_BLOCK_SIZE          -35
#define EXT2_ET_DIR_CORRUPTED          -36
#define EXT2_ET_SHORT_READ          -37
#define EXT2_ET_SHORT_WRITE          -38
#define EXT2_ET_DIR_NO_SPACE          -39
#define EXT2_ET_NO_INODE_BITMAP          -40
#define EXT2_ET_NO_BLOCK_BITMAP          -41
#define EXT2_ET_BAD_INODE_NUM          -42
#define EXT2_ET_BAD_BLOCK_NUM          -45
#define EXT2_ET_EXPAND_DIR_ERR          -46
#define EXT2_ET_TOOSMALL          -47
#define EXT2_ET_BAD_BLOCK_MARK          -48
#define EXT2_ET_BAD_BLOCK_UNMARK          -49
#define EXT2_ET_BAD_BLOCK_TEST          -50
#define EXT2_ET_BAD_INODE_MARK          -51
#define EXT2_ET_BAD_INODE_UNMARK          -52
#define EXT2_ET_BAD_INODE_TEST          -53
#define EXT2_ET_FUDGE_BLOCK_BITMAP_END          -54
#define EXT2_ET_FUDGE_INODE_BITMAP_END          -55
#define EXT2_ET_BAD_IND_BLOCK          -56
#define EXT2_ET_BAD_DIND_BLOCK          -57
#define EXT2_ET_BAD_TIND_BLOCK          -58
#define EXT2_ET_NEQ_BLOCK_BITMAP          -59
#define EXT2_ET_NEQ_INODE_BITMAP          -60
#define EXT2_ET_BAD_DEVICE_NAME          -61
#define EXT2_ET_MISSING_INODE_TABLE          -62
#define EXT2_ET_CORRUPT_SUPERBLOCK          -63
#define EXT2_ET_BAD_GENERIC_MARK          -64
#define EXT2_ET_BAD_GENERIC_UNMARK          -65
#define EXT2_ET_BAD_GENERIC_TEST          -66
#define EXT2_ET_SYMLINK_LOOP          -67
#define EXT2_ET_CALLBACK_NOTHANDLED          -68
#define EXT2_ET_BAD_BLOCK_IN_INODE_TABLE          -69
#define EXT2_ET_UNSUPP_FEATURE          -70
#define EXT2_ET_RO_UNSUPP_FEATURE          -71
#define EXT2_ET_LLSEEK_FAILED          -72
#define EXT2_ET_NO_MEMORY          -73
#define EXT2_ET_INVALID_ARGUMENT          -74
#define EXT2_ET_BLOCK_ALLOC_FAIL          -75
#define EXT2_ET_INODE_ALLOC_FAIL          -76
#define EXT2_ET_NO_DIRECTORY          -77
#define EXT2_ET_TOO_MANY_REFS          -78
#define EXT2_ET_FILE_NOT_FOUND          -79
#define EXT2_ET_FILE_RO          -80
#define EXT2_ET_DB_NOT_FOUND          -81
#define EXT2_ET_DIR_EXISTS          -82
#define EXT2_ET_UNIMPLEMENTED          -83
#define EXT2_ET_CANCEL_REQUESTED          -84
#define EXT2_ET_FILE_TOO_BIG          -85
#define EXT2_ET_JOURNAL_NOT_BLOCK          -86
#define EXT2_ET_NO_JOURNAL_SB          -87
#define EXT2_ET_JOURNAL_TOO_SMALL          -88
#define EXT2_ET_JOURNAL_UNSUPP_VERSION          -89
#define EXT2_ET_LOAD_EXT_JOURNAL          -90
#define EXT2_ET_NO_JOURNAL          -91
#define EXT2_ET_DIRHASH_UNSUPP          -92
#define EXT2_ET_BAD_EA_BLOCK_NUM          -93
#define EXT2_ET_TOO_MANY_INODES          -94
#define EXT2_ET_NOT_IMAGE_FILE          -95
#define EXT2_ET_RES_GDT_BLOCKS          -96
#define EXT2_ET_RESIZE_INODE_CORRUPT          -97
#define EXT2_ET_SET_BMAP_NO_IND          -98
#define EXT2_ET_TDB_SUCCESS          -99
#define EXT2_ET_TDB_ERR_CORRUPT          -100
#define EXT2_ET_TDB_ERR_IO          -101
#define EXT2_ET_TDB_ERR_LOCK          -102
#define EXT2_ET_TDB_ERR_OOM          -103
#define EXT2_ET_TDB_ERR_EXISTS          -104
#define EXT2_ET_TDB_ERR_NOLOCK          -105
#define EXT2_ET_TDB_ERR_EINVAL          -106
#define EXT2_ET_TDB_ERR_NOEXIST          -107
#define EXT2_ET_TDB_ERR_RDONLY          -108
#define EXT2_ET_DBLIST_EMPTY          -109
#define EXT2_ET_RO_BLOCK_ITERATE          -110
#define EXT2_ET_MAGIC_EXTENT_PATH          -111
#define EXT2_ET_MAGIC_RESERVED_10          -112
#define EXT2_ET_MAGIC_RESERVED_11          -113
#define EXT2_ET_MAGIC_RESERVED_12          -114
#define EXT2_ET_MAGIC_RESERVED_13          -115
#define EXT2_ET_MAGIC_RESERVED_14          -116
#define EXT2_ET_MAGIC_RESERVED_15          -117
#define EXT2_ET_MAGIC_RESERVED_16          -118
#define EXT2_ET_MAGIC_RESERVED_17          -119
#define EXT2_ET_MAGIC_RESERVED_18          -120
#define EXT2_ET_MAGIC_RESERVED_19          -121
#define EXT2_ET_EXTENT_HEADER_BAD          -122
#define EXT2_ET_EXTENT_INDEX_BAD          -123
#define EXT2_ET_EXTENT_LEAF_BAD          -124
#define EXT2_ET_EXTENT_NO_SPACE          -125
#define EXT2_ET_INODE_NOT_EXTENT          -126
#define EXT2_ET_EXTENT_NO_NEXT          -127
#define EXT2_ET_EXTENT_NO_PREV          -128
#define EXT2_ET_EXTENT_NO_UP          -129
#define EXT2_ET_EXTENT_NO_DOWN          -130
#define EXT2_ET_NO_CURRENT_NODE          -131
#define EXT2_ET_OP_NOT_SUPPORTED          -132
#define EXT2_ET_CANT_INSERT_EXTENT          -133
#define EXT2_ET_CANT_SPLIT_EXTENT          -134
#define EXT2_ET_EXTENT_NOT_FOUND          -135
#define EXT2_ET_EXTENT_NOT_SUPPORTED          -136
#define EXT2_ET_EXTENT_INVALID_LENGTH          -137
#define EXT2_ET_IO_CHANNEL_NO_SUPPORT_64          -138
#define EXT2_NO_MTAB_FILE          -139
#define EXT2_ET_MAGIC_GENERIC_BITMAP64          -140
#define EXT2_ET_MAGIC_BLOCK_BITMAP64          -141
#define EXT2_ET_MAGIC_INODE_BITMAP64          -142
#define EXT2_ET_CANT_USE_LEGACY_BITMAPS          -143

#endif
